package com.earl.eatbao.domain.eatbao;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

import com.earl.eatbao.commons.domain.AbstractAuditingEntity;

/**
 * 商店
 *
 * @author Administrator
 * @version 1.0
 * @updated 22-十一月-2016 20:16:39
 */
@Entity
public class Shop extends AbstractAuditingEntity<Long> implements Serializable {

    /**
     * 营业时间
     */
    private String openTime;
    /**
     * 配送费
     */
    private int distributionFee;
    /**
     * 评分
     */
    private int score;
    /**
     * 起送价
     */
    private int startingPrice;
    /**
     * 关闭时间，没有营业时间
     */
    private String stopTime;
    /**
     * 纬度
     */
    private double latitude;
    /**
     * 经度
     */
    private double longitude;
    /**
     * 商店名称
     */
    private String shopName;
    /**
     * 营业许可
     */
    private int license;
    /**
     * 商店图片
     */
    private String shopImg;
    /**
     * 当商店处于非营业状态时候，永远不会被搜索出来 当商店处于营业状态时候，并且处于当天的营业时间， 用户才能够下订单，不处于营业时间的商店也能够被搜索，
     * 被后台管理强制处于非营业状态的商家无法自己改变状态
     * 1.商店营业
     * 2.商店关闭
     * 3.商店被后台管理关闭
     */
    private int status;

    private long businessId;

    /**
     * Getter for property 'businessId'.
     *
     * @return Value for property 'businessId'.
     */
    public long getBusinessId() {
        return businessId;
    }

    /**
     * Setter for property 'businessId'.
     *
     * @param businessId Value to set for property 'businessId'.
     */
    public void setBusinessId(long businessId) {
        this.businessId = businessId;
    }

    public int getLicense() {
        return license;
    }

    public void setLicense(int license) {
        this.license = license;
    }

    /**
     * Getter for property 'shopImg'.
     *
     * @return Value for property 'shopImg'.
     */
    public String getShopImg() {
        return shopImg;
    }

    /**
     * Setter for property 'shopImg'.
     *
     * @param shopImg Value to set for property 'shopImg'.
     */
    public void setShopImg(String shopImg) {
        this.shopImg = shopImg;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public int getDistributionFee() {
        return distributionFee;
    }

    public void setDistributionFee(int distributionFee) {
        this.distributionFee = distributionFee;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }

    public int getStartingPrice() {
        return startingPrice;
    }

    public void setStartingPrice(int startingPrice) {
        this.startingPrice = startingPrice;
    }

    public double getLatitude() {
        return latitude;
    }

    public void setLatitude(double latitude) {
        this.latitude = latitude;
    }

    public double getLongitude() {
        return longitude;
    }

    public void setLongitude(double longitude) {
        this.longitude = longitude;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    /**
     * Getter for property 'openTime'.
     *
     * @return Value for property 'openTime'.
     */
    public String getOpenTime() {
        return openTime;
    }

    /**
     * Setter for property 'openTime'.
     *
     * @param openTime Value to set for property 'openTime'.
     */
    public void setOpenTime(String openTime) {
        this.openTime = openTime;
    }

    /**
     * Getter for property 'stopTime'.
     *
     * @return Value for property 'stopTime'.
     */
    public String getStopTime() {
        return stopTime;
    }

    /**
     * Setter for property 'stopTime'.
     *
     * @param stopTime Value to set for property 'stopTime'.
     */
    public void setStopTime(String stopTime) {
        this.stopTime = stopTime;
    }

    @Override
    public String toString() {
        return "Shop{" +
                "openTime=" + openTime +
                ", distributionFee=" + distributionFee +
                ", score=" + score +
                ", startingPrice=" + startingPrice +
                ", stopTime=" + stopTime +
                ", latitude=" + latitude +
                ", longitude=" + longitude +
                ", shopName='" + shopName + '\'' +
                ", license=" + license +
                ", shopImg='" + shopImg + '\'' +
                ", status=" + status +
                ", businessId=" + businessId +
                '}';
    }
}